home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-29 | 4.0 KB | 131 lines | [TEXT/MPS ] |
-
- {
- Created: Monday, September 16, 1991 at 12:53 AM
- SCSI.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1986-1991
- All rights reserved
- }
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT SCSI;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingSCSI}
- {$SETC UsingSCSI := 1}
-
- {$I+}
- {$SETC SCSIIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$SETC UsingIncludes := SCSIIncludes}
-
- CONST
- scInc = 1;
- scNoInc = 2;
- scAdd = 3;
- scMove = 4;
- scLoop = 5;
- scNop = 6;
- scStop = 7;
- scComp = 8;
- scCommErr = 2; {communications error, operation timeout}
- scArbNBErr = 3; {arbitration timeout waiting for not BSY}
- scBadParmsErr = 4; {bad parameter or TIB opcode}
- scPhaseErr = 5; {SCSI bus not in correct phase for attempted operation}
- scCompareErr = 6; {data compare error}
- scMgrBusyErr = 7; {SCSI Manager busy }
- scSequenceErr = 8; {attempted operation is out of sequence}
- scBusTOErr = 9; {CPU bus timeout}
- scComplPhaseErr = 10; {SCSI bus wasn't in Status phase}
- sbSIGWord = $4552;
- pMapSIG = $504D;
-
- TYPE
- Block0 = PACKED RECORD
- sbSig: INTEGER; {unique value for SCSI block 0}
- sbBlkSize: INTEGER; {block size of device}
- sbBlkCount: LONGINT; {number of blocks on device}
- sbDevType: INTEGER; {device type}
- sbDevId: INTEGER; {device id}
- sbData: LONGINT; {not used}
- sbDrvrCount: INTEGER; {driver descriptor count}
- ddBlock: LONGINT; {1st driver's starting block}
- ddSize: INTEGER; {size of 1st driver (512-byte blks)}
- ddType: INTEGER; {system type (1 for Mac+)}
- ddPad: ARRAY [0..242] OF INTEGER; {ARRAY[0..242] OF INTEGER; not used}
- END;
-
- Partition = PACKED RECORD
- pmSig: INTEGER; {unique value for map entry blk}
- pmSigPad: INTEGER; {currently unused}
- pmMapBlkCnt: LONGINT; {# of blks in partition map}
- pmPyPartStart: LONGINT; {physical start blk of partition}
- pmPartBlkCnt: LONGINT; {# of blks in this partition}
- pmPartName: PACKED ARRAY [0..31] OF CHAR; {ASCII partition name}
- pmParType: PACKED ARRAY [0..31] OF CHAR; {ASCII partition type}
- pmLgDataStart: LONGINT; {log. # of partition's 1st data blk}
- pmDataCnt: LONGINT; {# of blks in partition's data area}
- pmPartStatus: LONGINT; {bit field for partition status}
- pmLgBootStart: LONGINT; {log. blk of partition's boot code}
- pmBootSize: LONGINT; {number of bytes in boot code}
- pmBootAddr: LONGINT; {memory load address of boot code}
- pmBootAddr2: LONGINT; {currently unused}
- pmBootEntry: LONGINT; {entry point of boot code}
- pmBootEntry2: LONGINT; {currently unused}
- pmBootCksum: LONGINT; {checksum of boot code}
- pmProcessor: PACKED ARRAY [0..15] OF CHAR; {ASCII for the processor type}
- pmPad: ARRAY [0..187] OF INTEGER; {512 bytes long currently unused}
- END;
-
- SCSIInstr = RECORD
- scOpcode: INTEGER;
- scParam1: LONGINT;
- scParam2: LONGINT;
- END;
-
-
- FUNCTION SCSIReset: OSErr;
- INLINE $4267,$A815;
- FUNCTION SCSIGet: OSErr;
- INLINE $3F3C,$0001,$A815;
- FUNCTION SCSISelect(targetID: INTEGER): OSErr;
- INLINE $3F3C,$0002,$A815;
- FUNCTION SCSICmd(buffer: Ptr;count: INTEGER): OSErr;
- INLINE $3F3C,$0003,$A815;
- FUNCTION SCSIRead(tibPtr: Ptr): OSErr;
- INLINE $3F3C,$0005,$A815;
- FUNCTION SCSIRBlind(tibPtr: Ptr): OSErr;
- INLINE $3F3C,$0008,$A815;
- FUNCTION SCSIWrite(tibPtr: Ptr): OSErr;
- INLINE $3F3C,$0006,$A815;
- FUNCTION SCSIWBlind(tibPtr: Ptr): OSErr;
- INLINE $3F3C,$0009,$A815;
- FUNCTION SCSIComplete(VAR stat: INTEGER;VAR message: INTEGER;wait: LONGINT): OSErr;
- INLINE $3F3C,$0004,$A815;
- FUNCTION SCSIStat: INTEGER;
- INLINE $3F3C,$000A,$A815;
- FUNCTION SCSISelAtn(targetID: INTEGER): OSErr;
- INLINE $3F3C,$000B,$A815;
- FUNCTION SCSIMsgIn(VAR message: INTEGER): OSErr;
- INLINE $3F3C,$000C,$A815;
- FUNCTION SCSIMsgOut(message: INTEGER): OSErr;
- INLINE $3F3C,$000D,$A815;
-
-
- {$ENDC} { UsingSCSI }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-